package com.ruoyi.eaten.domain;

import java.math.BigDecimal;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 菜品管理对象 jjjfood_product
 * 
 * @author ruoyi
 * @date 2025-02-18
 */
public class JjjfoodProduct extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 产品id */
    private String productId;

    /** 产品名称 */
    @Excel(name = "产品名称")
    private String productName;

    /** 产品一口价 */
    @Excel(name = "产品一口价")
    private BigDecimal productPrice;

    /** 产品划线价 */
    @Excel(name = "产品划线价")
    private BigDecimal linePrice;

    /** 产品编码 */
    @Excel(name = "产品编码")
    private String productNo;

    /** 产品总库存 */
    @Excel(name = "产品总库存")
    private Long productStock;

    /** 商品卖点 */
    @Excel(name = "商品卖点")
    private String sellingPoint;

    /** 产品分类id */
    @Excel(name = "产品分类id")
    private String categoryId;

    /** 产品规格(10单规格 20多规格) */
    @Excel(name = "产品规格(10单规格 20多规格)")
    private String specType;

    /** 库存计算方式(10下单减库存 20付款减库存) */
    @Excel(name = "库存计算方式(10下单减库存 20付款减库存)")
    private String deductStockType;

    /** 产品详情 */
    @Excel(name = "产品详情")
    private String content;

    /** 初始销量 */
    @Excel(name = "初始销量")
    private String salesInitial;

    /** 实际销量 */
    @Excel(name = "实际销量")
    private String salesActual;

    /** 产品排序(数字越小越靠前) */
    @Excel(name = "产品排序(数字越小越靠前)")
    private String productSort;

    /** 是否开启积分赠送(1开启 0关闭) */
    @Excel(name = "是否开启积分赠送(1开启 0关闭)")
    private String isPointsGift;

    /** 是否允许使用积分抵扣(1允许 0不允许) */
    @Excel(name = "是否允许使用积分抵扣(1允许 0不允许)")
    private String isPointsDiscount;

    /** 最大积分抵扣数量 */
    @Excel(name = "最大积分抵扣数量")
    private Long maxPointsDiscount;

    /** 是否开启会员折扣(1开启 0关闭) */
    @Excel(name = "是否开启会员折扣(1开启 0关闭)")
    private String isEnableGrade;

    /** 会员折扣设置(0默认等级折扣 1单独设置折扣) */
    @Excel(name = "会员折扣设置(0默认等级折扣 1单独设置折扣)")
    private String isAloneGrade;

    /** 单独设置折扣的配置 */
    @Excel(name = "单独设置折扣的配置")
    private String aloneGradeEquity;

    /** 折扣金额类型(10百分比 20固定金额) */
    @Excel(name = "折扣金额类型(10百分比 20固定金额)")
    private Long aloneGradeType;

    /** 是否参加分销0否1是 */
    @Excel(name = "是否参加分销0否1是")
    private Long isAgent;

    /** 是否开启单独分销(0关闭 1开启) */
    @Excel(name = "是否开启单独分销(0关闭 1开启)")
    private String isIndAgent;

    /** 分销佣金类型(10百分比 20固定金额) */
    @Excel(name = "分销佣金类型(10百分比 20固定金额)")
    private String agentMoneyType;

    /** 分销佣金(一级) */
    @Excel(name = "分销佣金(一级)")
    private BigDecimal firstMoney;

    /** 分销佣金(二级) */
    @Excel(name = "分销佣金(二级)")
    private BigDecimal secondMoney;

    /** 分销佣金(三级) */
    @Excel(name = "分销佣金(三级)")
    private BigDecimal thirdMoney;

    /** 产品状态(10上架 20下架 ) */
    @Excel(name = "产品状态(10上架 20下架 )")
    private String productStatus;

    /** 访问次数 */
    @Excel(name = "访问次数")
    private Long viewTimes;

    /** 供应商id */
    @Excel(name = "供应商id")
    private Long shopSupplierId;

    /** 供应商价格 */
    @Excel(name = "供应商价格")
    private BigDecimal supplierPrice;

    /** 限购数量0为不限 */
    @Excel(name = "限购数量0为不限")
    private Long limitNum;

    /** 可购买会员等级id，逗号隔开 */
    @Excel(name = "可购买会员等级id，逗号隔开")
    private String gradeIds;

    /** 0外卖1店内 */
    @Excel(name = "0外卖1店内")
    private Long productType;

    /** 商品单位 */
    @Excel(name = "商品单位")
    private String productUnit;

    /** 商品属性 */
    @Excel(name = "商品属性")
    private String productAttr;

    /** 售卖加料 */
    @Excel(name = "售卖加料")
    private String productFeed;

    /** 特殊分类id */
    @Excel(name = "特殊分类id")
    private Long specialId;

    /** 成本价 */
    @Excel(name = "成本价")
    private BigDecimal costPrice;

    /** 最小购买量 */
    @Excel(name = "最小购买量")
    private Long minBuy;

    /** 包装费 */
    @Excel(name = "包装费")
    private BigDecimal bagPrice;

    /** 打印标签id */
    @Excel(name = "打印标签id")
    private Long labelId;

    /** 是否删除 */
    @Excel(name = "是否删除")
    private String isDelete;

    /** 应用id */
    @Excel(name = "应用id")
    private String appId;

    public void setProductId(String productId) 
    {
        this.productId = productId;
    }

    public String getProductId() 
    {
        return productId;
    }
    public void setProductName(String productName) 
    {
        this.productName = productName;
    }

    public String getProductName() 
    {
        return productName;
    }
    public void setProductPrice(BigDecimal productPrice) 
    {
        this.productPrice = productPrice;
    }

    public BigDecimal getProductPrice() 
    {
        return productPrice;
    }
    public void setLinePrice(BigDecimal linePrice) 
    {
        this.linePrice = linePrice;
    }

    public BigDecimal getLinePrice() 
    {
        return linePrice;
    }
    public void setProductNo(String productNo) 
    {
        this.productNo = productNo;
    }

    public String getProductNo() 
    {
        return productNo;
    }
    public void setProductStock(Long productStock) 
    {
        this.productStock = productStock;
    }

    public Long getProductStock() 
    {
        return productStock;
    }
    public void setSellingPoint(String sellingPoint) 
    {
        this.sellingPoint = sellingPoint;
    }

    public String getSellingPoint() 
    {
        return sellingPoint;
    }
    public void setCategoryId(String categoryId) 
    {
        this.categoryId = categoryId;
    }

    public String getCategoryId() 
    {
        return categoryId;
    }
    public void setSpecType(String specType) 
    {
        this.specType = specType;
    }

    public String getSpecType() 
    {
        return specType;
    }
    public void setDeductStockType(String deductStockType) 
    {
        this.deductStockType = deductStockType;
    }

    public String getDeductStockType() 
    {
        return deductStockType;
    }
    public void setContent(String content) 
    {
        this.content = content;
    }

    public String getContent() 
    {
        return content;
    }
    public void setSalesInitial(String salesInitial) 
    {
        this.salesInitial = salesInitial;
    }

    public String getSalesInitial() 
    {
        return salesInitial;
    }
    public void setSalesActual(String salesActual) 
    {
        this.salesActual = salesActual;
    }

    public String getSalesActual() 
    {
        return salesActual;
    }
    public void setProductSort(String productSort) 
    {
        this.productSort = productSort;
    }

    public String getProductSort() 
    {
        return productSort;
    }
    public void setIsPointsGift(String isPointsGift) 
    {
        this.isPointsGift = isPointsGift;
    }

    public String getIsPointsGift() 
    {
        return isPointsGift;
    }
    public void setIsPointsDiscount(String isPointsDiscount) 
    {
        this.isPointsDiscount = isPointsDiscount;
    }

    public String getIsPointsDiscount() 
    {
        return isPointsDiscount;
    }
    public void setMaxPointsDiscount(Long maxPointsDiscount) 
    {
        this.maxPointsDiscount = maxPointsDiscount;
    }

    public Long getMaxPointsDiscount() 
    {
        return maxPointsDiscount;
    }
    public void setIsEnableGrade(String isEnableGrade) 
    {
        this.isEnableGrade = isEnableGrade;
    }

    public String getIsEnableGrade() 
    {
        return isEnableGrade;
    }
    public void setIsAloneGrade(String isAloneGrade) 
    {
        this.isAloneGrade = isAloneGrade;
    }

    public String getIsAloneGrade() 
    {
        return isAloneGrade;
    }
    public void setAloneGradeEquity(String aloneGradeEquity) 
    {
        this.aloneGradeEquity = aloneGradeEquity;
    }

    public String getAloneGradeEquity() 
    {
        return aloneGradeEquity;
    }
    public void setAloneGradeType(Long aloneGradeType) 
    {
        this.aloneGradeType = aloneGradeType;
    }

    public Long getAloneGradeType() 
    {
        return aloneGradeType;
    }
    public void setIsAgent(Long isAgent) 
    {
        this.isAgent = isAgent;
    }

    public Long getIsAgent() 
    {
        return isAgent;
    }
    public void setIsIndAgent(String isIndAgent) 
    {
        this.isIndAgent = isIndAgent;
    }

    public String getIsIndAgent() 
    {
        return isIndAgent;
    }
    public void setAgentMoneyType(String agentMoneyType) 
    {
        this.agentMoneyType = agentMoneyType;
    }

    public String getAgentMoneyType() 
    {
        return agentMoneyType;
    }
    public void setFirstMoney(BigDecimal firstMoney) 
    {
        this.firstMoney = firstMoney;
    }

    public BigDecimal getFirstMoney() 
    {
        return firstMoney;
    }
    public void setSecondMoney(BigDecimal secondMoney) 
    {
        this.secondMoney = secondMoney;
    }

    public BigDecimal getSecondMoney() 
    {
        return secondMoney;
    }
    public void setThirdMoney(BigDecimal thirdMoney) 
    {
        this.thirdMoney = thirdMoney;
    }

    public BigDecimal getThirdMoney() 
    {
        return thirdMoney;
    }
    public void setProductStatus(String productStatus) 
    {
        this.productStatus = productStatus;
    }

    public String getProductStatus() 
    {
        return productStatus;
    }
    public void setViewTimes(Long viewTimes) 
    {
        this.viewTimes = viewTimes;
    }

    public Long getViewTimes() 
    {
        return viewTimes;
    }
    public void setShopSupplierId(Long shopSupplierId) 
    {
        this.shopSupplierId = shopSupplierId;
    }

    public Long getShopSupplierId() 
    {
        return shopSupplierId;
    }
    public void setSupplierPrice(BigDecimal supplierPrice) 
    {
        this.supplierPrice = supplierPrice;
    }

    public BigDecimal getSupplierPrice() 
    {
        return supplierPrice;
    }
    public void setLimitNum(Long limitNum) 
    {
        this.limitNum = limitNum;
    }

    public Long getLimitNum() 
    {
        return limitNum;
    }
    public void setGradeIds(String gradeIds) 
    {
        this.gradeIds = gradeIds;
    }

    public String getGradeIds() 
    {
        return gradeIds;
    }
    public void setProductType(Long productType) 
    {
        this.productType = productType;
    }

    public Long getProductType() 
    {
        return productType;
    }
    public void setProductUnit(String productUnit) 
    {
        this.productUnit = productUnit;
    }

    public String getProductUnit() 
    {
        return productUnit;
    }
    public void setProductAttr(String productAttr) 
    {
        this.productAttr = productAttr;
    }

    public String getProductAttr() 
    {
        return productAttr;
    }
    public void setProductFeed(String productFeed) 
    {
        this.productFeed = productFeed;
    }

    public String getProductFeed() 
    {
        return productFeed;
    }
    public void setSpecialId(Long specialId) 
    {
        this.specialId = specialId;
    }

    public Long getSpecialId() 
    {
        return specialId;
    }
    public void setCostPrice(BigDecimal costPrice) 
    {
        this.costPrice = costPrice;
    }

    public BigDecimal getCostPrice() 
    {
        return costPrice;
    }
    public void setMinBuy(Long minBuy) 
    {
        this.minBuy = minBuy;
    }

    public Long getMinBuy() 
    {
        return minBuy;
    }
    public void setBagPrice(BigDecimal bagPrice) 
    {
        this.bagPrice = bagPrice;
    }

    public BigDecimal getBagPrice() 
    {
        return bagPrice;
    }
    public void setLabelId(Long labelId) 
    {
        this.labelId = labelId;
    }

    public Long getLabelId() 
    {
        return labelId;
    }
    public void setIsDelete(String isDelete) 
    {
        this.isDelete = isDelete;
    }

    public String getIsDelete() 
    {
        return isDelete;
    }
    public void setAppId(String appId) 
    {
        this.appId = appId;
    }

    public String getAppId() 
    {
        return appId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("productId", getProductId())
            .append("productName", getProductName())
            .append("productPrice", getProductPrice())
            .append("linePrice", getLinePrice())
            .append("productNo", getProductNo())
            .append("productStock", getProductStock())
            .append("sellingPoint", getSellingPoint())
            .append("categoryId", getCategoryId())
            .append("specType", getSpecType())
            .append("deductStockType", getDeductStockType())
            .append("content", getContent())
            .append("salesInitial", getSalesInitial())
            .append("salesActual", getSalesActual())
            .append("productSort", getProductSort())
            .append("isPointsGift", getIsPointsGift())
            .append("isPointsDiscount", getIsPointsDiscount())
            .append("maxPointsDiscount", getMaxPointsDiscount())
            .append("isEnableGrade", getIsEnableGrade())
            .append("isAloneGrade", getIsAloneGrade())
            .append("aloneGradeEquity", getAloneGradeEquity())
            .append("aloneGradeType", getAloneGradeType())
            .append("isAgent", getIsAgent())
            .append("isIndAgent", getIsIndAgent())
            .append("agentMoneyType", getAgentMoneyType())
            .append("firstMoney", getFirstMoney())
            .append("secondMoney", getSecondMoney())
            .append("thirdMoney", getThirdMoney())
            .append("productStatus", getProductStatus())
            .append("viewTimes", getViewTimes())
            .append("shopSupplierId", getShopSupplierId())
            .append("supplierPrice", getSupplierPrice())
            .append("limitNum", getLimitNum())
            .append("gradeIds", getGradeIds())
            .append("productType", getProductType())
            .append("productUnit", getProductUnit())
            .append("productAttr", getProductAttr())
            .append("productFeed", getProductFeed())
            .append("specialId", getSpecialId())
            .append("costPrice", getCostPrice())
            .append("minBuy", getMinBuy())
            .append("bagPrice", getBagPrice())
            .append("labelId", getLabelId())
            .append("isDelete", getIsDelete())
            .append("appId", getAppId())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
